package com.ruoyi.system.util.xfyun.utils;

import java.util.ArrayList;
import java.util.List;

public class RemoveQuotesAndBrackets {


    public static void main(String[] args) {
        String input = "```txt\n" +
                "{\n" +
                "  \"有效交流\": \"有效\",\n" +
                "  \"关键词\": \"\",\n" +
                "  \"新老客户\": \"未知\",\n" +
                "  \"流失风险\": \"低\",\n" +
                "  \"流失风险说明\": \"客户正在探讨欧洲市场扩展计划\",\n" +
                "  \"成交意愿\": \"中\",\n" +
                "  \"成交意愿说明\": \"提及已有业务基础但未明确合作意向\",\n" +
                "  \"标签\": \"#技术导向 #饲料原料\",\n" +
                "  \"客户所在行业\": \"饲料原料\",\n" +
                "  \"核心诉求\": \"建立欧洲市场供应链体系\",\n" +
                "  \"业务痛点\": \"需要本地化产品注册支持\",\n" +
                "  \"成交阻碍因素\": \"跨国物流\", \"认证标准\", \"品牌授权\",\n" +
                "  \"交流摘要\": \"客户阐述在中国有机原料领域20年经验，正在布局欧洲市场供应链，探讨产品注册、品牌授权及跨国服务能力\",\n" +
                "  \"产品\": \"饲料原料,定制产品\"\n" +
                "}\n" +
                "```";

        String cleanedString = RemoveQuotesAndBrackets.removeQuotesAndBrackets(input.replaceAll("txt", "").replace("`",""));
        // 根据逗号分隔字符串
        List<String> parts = RemoveQuotesAndBrackets.splitByComma(cleanedString);

        System.out.println(parts);
    }

    /**
     * 去掉字符串中的所有引号和括号
     */
    public static String removeQuotesAndBrackets(String input) {
        // 去掉所有引号
        input = input.replace("\"", "");

        // 去掉所有括号
        input = input.replace("[", "").replace("]", ""); // 去掉方括号
        input = input.replace("{", "").replace("}", ""); // 去掉大括号

        return input;
    }

    /**
     * 根据逗号分隔字符串
     */
    public static List<String> splitByComma(String input) {
        List<String> parts = new ArrayList<>();
        StringBuilder currentPart = new StringBuilder();

        for (char c : input.toCharArray()) {
            if (c == ';') {
                // 遇到逗号，将当前部分添加到结果中
                parts.add(currentPart.toString());
                currentPart.setLength(0); // 清空当前部分
            } else {
                currentPart.append(c); // 继续构建当前部分
            }
        }

        // 添加最后一个部分
        if (currentPart.length() > 0) {
            parts.add(currentPart.toString());
        }

        return parts;
    }
}
